package tech.xs.common.framework.domain.bo;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Getter
@Setter
@ToString
public class PageBo<T> implements Serializable {

    /**
     * 分页查询下标
     * 最小值为0
     */
    @NotNull
    @Min(0)
    private Long pageIndex;

    /**
     * 每页数量
     */
    @NotNull
    @Min(1)
    @Max(1000)
    private Long pageSize;

    public Page<T> page() {
        return new Page<T>(pageIndex, pageSize);
    }

}
